"""
导包，
获取测试数据
定义一个测试类
      创建测试用例的方法
      获取测试数据进行请求所需要的的关键字段、
      进行请求返回结果
      断言接口后返回结果，判断成功或者失败
"""
import unittest
from ddt import ddt,data,unpack
import requests
from 接口框架第一周.common.readexcel import readexcel
from 接口框架第一周.common.confighttp import *
from 接口框架第一周.common.writeexcel import writeexcel

data_obj=readexcel()
tets_data=data_obj.read()

@ddt
class testcast(unittest.TestCase):
    @data(*tets_data)
    @unpack
    def test_case(self,id,interfaceUrl,name,method,value,expect,real,status):
        ch =confighttp(method,interfaceUrl,value)
        re=ch.run()
        rew_dict1=re.json()
        real=rew_dict1['errorCode']
        if real ==int(expect):
            status='pass'
        else:
            status='fail'
            raise AssertionError('有问题')
        print('实际结果',real)
        print('执行结果',status)
        we=writeexcel()
        we.write_data(eval(id),6,real,status)
        self.assertEqual(rew_dict1['errorCode'],int(expect),'测试结果不通过')

if __name__ == '__main__':
    unittest.main(verbosity=2)
